package com.chenjt.one_base;

import dev.langchain4j.data.message.AiMessage;
import dev.langchain4j.data.message.UserMessage;
import dev.langchain4j.model.chat.ChatLanguageModel;
import dev.langchain4j.model.openai.OpenAiChatModel;
import dev.langchain4j.model.output.Response;

/**
 * 注释：
 *
 * @author chenjt
 * @date 2025/3/6 11:13
 */
public class HelloWorld {

    public static void main(String[] args) {

        ChatLanguageModel model = OpenAiChatModel.builder()
                .apiKey("demo")
                .modelName("gpt-4o-mini")
                .build();
//                .generate("你好");


        /**
         *
         * 以下做法没法记住上次对话
         * 打印结果
         * 我是一个人工智能助手，旨在回答问题、提供信息和协助解决问题。如果你有任何问题或需要帮助，随时可以问我！
         * 可以的，请问您想让我重复什么内容呢？
         */
//        String answer = model.generate("你是谁");
//        System.out.println(answer);
        // 这样做不会记住之前的交互记录
//        String answer2 = model.generate("请重复一次");
//        System.out.println(answer2);


        /**
         * 以下做法是为了基于上次对话继续对话
         * 打印结果
         * 我是一个人工智能助手，旨在回答问题和提供信息。有什么我可以帮助你的吗？
         * 我是一个人工智能助手，旨在回答问题和提供信息。有什么我可以帮助你的吗？
         */
        UserMessage userMessage = UserMessage.from("你是谁");
        Response<AiMessage> response = model.generate(userMessage);
        AiMessage aiMessage = response.content();
        System.out.println(aiMessage.text());

        UserMessage userMessage2 = UserMessage.from("请重复一次");
        Response<AiMessage> response2
                = model.generate(userMessage, aiMessage, userMessage2);

        System.out.println(response2.content().text());

    }

}
